package com.bosssoft.observer;

import lombok.extern.slf4j.Slf4j;

/**
 * @author 戴圣燃
 * 具体的观察者类，实现了Observer接口。
 * 用于接收被观察者对象的通知，并根据通知更新自身状态或行为。
 */
@Slf4j
public class ConcreteObserver implements Observer {
    private String name; // 观察者的名称

    /**
     * ConcreteObserver类的构造函数。
     *
     * @param name 观察者的名称。
     */
    public ConcreteObserver(String name) {
        this.name = name;
    }

    /**
     * 当被观察者对象状态发生改变时，被观察者会调用所有注册观察者的此方法。
     * 用于更新观察者的状态或行为。
     *
     * @param message 被观察者状态改变时传递的消息。
     */
    @Override
    public void update(String message) {
        log.info(name + " received message: " + message);
    }
}

